In general, fragmentation occurs when a computer stores a file across non-contiguous areas of memory. For example, suppose that a file initially resides in a single contiguous area of memory. Over time, the computer may store new blocks of the file in other areas which are not contiguous with that area (e.g., as the file grows in size, as the information within the file is modified and is stored as a new version, etc.). Such scattering of the blocks to separate areas of memory makes subsequent file access less efficient.
Defragmentation refers to a process performed by the computer to reduce fragmentation by combining portions of files stored across non-contiguous areas of memory. Such combining of the file portions makes subsequent file access more efficient.
A conventional computer may run a defragmentation utility to defragment a file system while the computer is offline or during a non-busy time period (e.g., at 2:00 a.m.). Since computer performance degrades when running the defragmentation utility, running the defragmentation utility during such an inactive time gives the defragmentation utility an opportunity to complete defragmentation of the entire file system before the computer resumes higher activity.